package com.kashin.sistema;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
/**
 *  TODO: antes de crear clientes validar los datos (y que no esten vacios, obviamente)
 * @author Leandro
 *
 */
public class Recepcion {
	private DBConnection con;
	private Orden orden;
	
	public Recepcion() {
		con = new DBConnection("mysql", "localhost", "3306", "root", "marine74327992");
		orden = new Orden();
	}
	
	public void submitClient() throws SQLException {
		ResultSet rs;
		int ultimoNroCliente;
		con.executeUpdate(orden.getCliente().getCreateClientQuery());
		
		//luego de crear el cliente, lo setea como el actual
		rs = con.executeQuery(orden.getCliente().getUltimoNroClienteQuery());
		ultimoNroCliente = rs.getInt(1);
		orden.getCliente().setNro_cliente(ultimoNroCliente);
	}
	
	public void submit() throws SQLException {
		try {
			con.executeUpdate(orden.getSubmitQuery());
		} catch (InvalidClientException e) {
			//TODO hacer el manejo de esta exception
			//si llego aca es que no puso un cliente valido(no hizo el search)
			e.printStackTrace();
		}
	}
	
	public int getSiguienteNroOrden() throws SQLException {
		Statement stmt = null;
		ResultSet rs = null;
		String query = orden.getSiguienteNroOrdenQuery();
		try {
			stmt = con.createStatement();
			rs = stmt.executeQuery(query);
		} catch (SQLException e) {
			// TODO hacer el manejo de esta exception
			e.printStackTrace();
		} finally {
			stmt.close();
		}
		return rs.getInt(1);
	}
	
/*
	public String getSubmitQuery() {
		return "INSERT INTO Orden (fecha, tecnico_cod, apellido, nombre, domicilio, " +
				"localidad_cod, email, telefono, tel_oficina, aparato_cod, marca_cod, modelo, nro_serie, " +
				"estado_gabinete, accesorio_cod1, accesorio_cod2, accesorio_cod3, accesorio_cod4, " +
				"accesorio_cod5, falla, observacion, GDP, casa_venta_cod, nro_venta, fecha_venta, " +
				"cod_garantia, nro_estampilla, fecha_reparacion) " +
				"VALUES ("+orden.getFecha()+", " + orden.getTecnico_cod()+", "+orden.getCliente().getApellido()+", "
				+orden.getCliente().getNombre()+", "+orden.getCliente().getDomicilio()+", " 
				+orden.getCliente().getLocalidad_cod()+", "+orden.getCliente().getEmail()+", "
				+orden.getCliente().getTelefono()+", "+orden.getCliente().getTel_oficina()
				+", " +orden.getAparato_cod()+", "+orden.getMarca_cod()+", "+orden.getModelo()
				+", "+orden.getNro_serie()+", "+orden.getEstado_gabinete()+", "+orden.getAccesorio_cod1()
				+", "+orden.getAccesorio_cod2()+", "+orden.getAccesorio_cod3()+", "+orden.getAccesorio_cod4()
				+","+orden.getAccesorio_cod5()+", "+orden.getFalla()+", "+orden.getObservacion()+", "
				+orden.getGDP()+", "+orden.getCasa_venta_cod()+", "+orden.getNro_venta()+", "+orden.getFecha_venta()
				+", "+orden.getCod_garantia()+", "+orden.getNro_estampilla()+", "+orden.getFecha_reparacion()+");";
	}
*/
	
}
